package com.xinchen.ssh.demo.core.dao;

import com.xinchen.ssh.demo.core.entity.page.Page;
import com.xinchen.ssh.demo.core.entity.page.PageInfo;
import com.xinchen.ssh.demo.core.entity.page.QueryConditions;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 * Description：
 *
 * @author Xin Chen
 * @version 1.0
 * @date 2016/12/15 10:51
 * @see 2016/12/15 10:51 Created
 ****************************************/
public interface HibernateEntityManager extends EntityManager{
    void setSF(SessionFactory var1);

    void updateWithFile(Object var1);

    Object load(Class var1, Serializable var2);

    List loadAll(Class var1);

    List loadAll(Class var1, int var2, int var3);

    Page loadAll(Class var1, PageInfo var2);

    void update(Object var1);

    void delete(Object var1);

    void delete(Collection var1);

    void delete(Class var1, Serializable var2);

    Serializable save(Object var1);

    List save(Collection var1);

    void update(Collection var1);

    void merge(Object var1);

    Object refresh(Object var1);

    List find(String var1);

    List find(String var1, String var2, Object[] var3);

    List find(String var1, Object[] var2);

    List find(String var1, int var2, int var3);

    List find(String var1, Object[] var2, int var3, int var4);

    Page find(String var1, PageInfo var2);

    Page find(String var1, Object[] var2, PageInfo var3);

    Page find(String var1, QueryConditions var2, PageInfo var3, boolean var4);

    List find(String var1, QueryConditions var2);

    List find(String var1, QueryConditions var2, int var3);

    int executeUpdate(String var1);

    int executeUpdate(String var1, Object[] var2);

    int executeSQL(String var1, Object[] var2);

    HibernateTemplate getHibernateTemplate();
}
